/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package my.cbr.database.model;

import java.util.ArrayList;
import java.util.List;
import jcolibri.cbrcore.Attribute;
import jcolibri.cbrcore.CaseComponent;
import my.cbr.casedescriptions.CaseDescription;

/**
 *
 * @author Geir Ole
 */
public class AquacultureProdUnit implements CaseComponent {

    private Integer aquacultureProdUnitID;
    private CaseDescription descriptionID;
    private Integer ID;
    private Double individCount;
    private Integer receivingQuantity;
    private Integer starvationDays;
    private List<SpeciesOrigin> speciesOrigin = new ArrayList<SpeciesOrigin>();
    private List<HatcheryCompanyID> hatcheryCompanyID = new ArrayList<HatcheryCompanyID>();
    private List<Vaccine> vaccine = new ArrayList<Vaccine>();
    
    public AquacultureProdUnit() {
    }

    public AquacultureProdUnit(Integer aquacultureProdUnitID) {
        this.aquacultureProdUnitID = aquacultureProdUnitID;
    }

    public Integer getReceivingQuantity() {
        return receivingQuantity;
    }

    public void setReceivingQuantity(Integer receivingQuantity) {
        this.receivingQuantity = receivingQuantity;
    }

    public Integer getStarvationDays() {
        return starvationDays;
    }

    public void setStarvationDays(Integer starvationDays) {
        this.starvationDays = starvationDays;
    }

    public Double getIndividCount() {
        return individCount;
    }

    public void setIndividCount(Double individCount) {
        this.individCount = individCount;
    }

    public List<Vaccine> getVaccine() {
        return vaccine;
    }

    public void setVaccine(List<Vaccine> vaccine) {
        this.vaccine = vaccine;
    }

    public void addVaccine(Vaccine vaccine) {
        this.vaccine.add(vaccine);
    }
    
    /**
     * Get the value of ID
     *
     * @return the value of ID
     */
    public Integer getID() {
        return ID;
    }

    /**
     * Set the value of ID
     *
     * @param ID new value of ID
     */
    public void setID(Integer ID) {
        this.ID = ID;
    }

    public List<HatcheryCompanyID> getHatcheryCompanyID() {
        return hatcheryCompanyID;
    }

    public void setHatcheryCompanyID(List<HatcheryCompanyID> hatcheryCompanyID) {
        this.hatcheryCompanyID = hatcheryCompanyID;
    }

    public void addHatcheryCompany(HatcheryCompanyID hc)
    {
        this.hatcheryCompanyID.add(hc);
    }
    
    public List<SpeciesOrigin> getSpeciesOrigin() {
        return speciesOrigin;
    }

    public void setSpeciesOrigin(List<SpeciesOrigin> speciesOrigin) {
        this.speciesOrigin = speciesOrigin;
    }

    public void addSpeciesOrigin(SpeciesOrigin so)
    {
        this.speciesOrigin.add(so);
    }

    /**
     * Get the value of descriptionID
     *
     * @return the value of descriptionID
     */
    public CaseDescription getDescriptionID() {
        return descriptionID;
    }

    /**
     * Set the value of descriptionID
     *
     * @param descriptionID new value of descriptionID
     */
    public void setDescriptionID(CaseDescription descriptionID) {
        this.descriptionID = descriptionID;
    }

    /**
     * Get the value of aquacultureProdUnitID
     *
     * @return the value of aquacultureProdUnitID
     */
    public Integer getAquacultureProdUnitID() {
        return aquacultureProdUnitID;
    }

    /**
     * Set the value of aquacultureProdUnitID
     *
     * @param aquacultureProdUnitID new value of aquacultureProdUnitID
     */
    public void setAquacultureProdUnitID(Integer aquacultureProdUnitID) {
        this.aquacultureProdUnitID = aquacultureProdUnitID;
    }


    @Override
    public String toString() {
        return aquacultureProdUnitID+"";
    }

    public Attribute getIdAttribute() {
        return new Attribute("ID", this.getClass());
    }

}
